package repositorio;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

import com.example.junior.activities.R;

import java.util.ArrayList;
import java.util.List;
import basicas.Time;

/**
 * Created by Junior on 26/10/2014.
 */
public class TimesDB {

    private TimesSqlHelper timeHelper;

    public TimesDB(Context context){timeHelper = new TimesSqlHelper(context);}

    public void inserir(Time time){
        SQLiteDatabase db = timeHelper.getWritableDatabase();

        ContentValues cv = new ContentValues();
        cv.put("nome",time.nome);
        cv.put("id",time.id_time);
        cv.put("escudo",time.escudo);
        cv.put("equipe_sigla",time.equipe_sigla);
        cv.put("aproveitamento",time.aproveitamento);
        cv.put("vitorias",time.vitorias);
        cv.put("derrotas",time.derrotas);
        cv.put("empates",time.empates);
        cv.put("gols_contra",time.gols_contra);
        cv.put("gols_pro",time.gols_pro);
        cv.put("jogos",time.jogos);
        cv.put("pontos",time.pontos);
        cv.put("saldo_gols",time.saldo_gols);

        long id = db.insert("time", null, cv);
        db.close();

        if (id == -1){
            throw new RuntimeException(String.valueOf(R.string.erroInsert));
        }

    }
    public void excluir(Time time){
        SQLiteDatabase db = timeHelper.getWritableDatabase();

        db.delete("time", "nome = ?",
                new String[]{ time.nome });

        db.close();

    }
    public boolean favoritos(Time time){

        SQLiteDatabase db = timeHelper.getReadableDatabase();

        Cursor cursor = db.rawQuery(
                "SELECT _id FROM time WHERE nome = ?",
                new String[]{ time.nome });

        boolean existe = cursor.getCount() > 0;

        cursor.close();
        db.close();

        return existe;
    }
    public List<Time> listarTime(){

        List<Time> times = new ArrayList<Time>();

        SQLiteDatabase db = timeHelper.getReadableDatabase();

        Cursor cursor = db.rawQuery(
                "SELECT * FROM time ORDER BY nome", null);

        while (cursor.moveToNext()){
            int id_time = cursor.getInt(
                    cursor.getColumnIndex("id_time"));
            String nome = cursor.getString(
                    cursor.getColumnIndex("nome"));
            String equipe_sigla = cursor.getString(
                    cursor.getColumnIndex("equipe_siglas"));
            String escudo = cursor.getString(
                    cursor.getColumnIndex("escudo"));
            String aproveitamento = cursor.getString(
                    cursor.getColumnIndex("aproveitamento"));
            int vitorias = cursor.getInt(
                    cursor.getColumnIndex("vitorias"));
            int derrotas = cursor.getInt(
                    cursor.getColumnIndex("derrotas"));
            int empates = cursor.getInt(
                    cursor.getColumnIndex("empates"));
            int gols_contra = cursor.getInt(
                    cursor.getColumnIndex("gols_contra"));
            int gols_pro = cursor.getInt(
                    cursor.getColumnIndex("gols_pro"));
            int jogos = cursor.getInt(
                    cursor.getColumnIndex("jogos"));
            int pontos = cursor.getInt(
                    cursor.getColumnIndex("pontos"));
            int saldo_gols = cursor.getInt(
                    cursor.getColumnIndex("saldo_gols"));

            times.add(new Time(id_time,escudo,nome,equipe_sigla,aproveitamento,vitorias,derrotas,empates,gols_contra,gols_pro,jogos,pontos,saldo_gols));
        }
        cursor.close();
        db.close();

        return times;
    }
}
